xss 常用标签及绕过姿势总结

您所在的位置:网站首页 web span标签style xss 常用标签及绕过姿势总结

xss 常用标签及绕过姿势总结

2023-10-31 12:23| 来源: 网络整理| 查看: 265

一、xss 常见标签语句0x01. 标签testxssxssxssxss0x02. 标签0x03. 标签test0x04. 标签​0x05. 标签0x06. 标签0x07. 标签xssxssxssxssxss0x08. 标签

这个需要借助url编码来实现绕过

原代码:DIV经过url编码:DIV0x09. 标签

这个需要借助 data 伪协议和 base64 编码来实现绕过

0x10. 标签alert('xss')alert(/xss/)alert(123)0x11.

标签

xss

xss

xss

xss

0x12. 标签0x13. 标签0x14. 标签0x15. 标签0x16. 标签

二、xss 常见绕过编码绕过

浏览器对 XSS 代码的解析顺序为:HTML解码 —— URL解码 —— JS解码(只支持UNICODE)。

0x01. html 实体编码

当可控点为单个标签属性时,可以使用 html 实体编码。

test

test

Payload

test

十进制

test

十六进制

test

可以不带分号

test

可以填充0

test0x02. url 编码

当注入点存在 href 或者 src 属性时,可以使用 url 编码。

test​test

Payload

test​test

注:url 解析过程中,不能对协议类型进行任何的编码操作,所以 javascript: 协议头需要保留。

test​test

可以二次编码

test​test0x03. js 编码

解析的时候字符或者字符串仅会被解码为字符串文本或者标识符名称,例如 js 解析器工作的时候将\u0061\u006c\u0065\u0072\u0074进行解码后为alert,而alert是一个有效的标识符名称,它是能被正常解析的。但是像圆括号、双引号、单引号等等这些字符就只能被当作普通的文本,从而导致无法执行。

由于 js 是最后进行解析的,所以如果混合编码,需要先使用 js 编码再进行 url 编码或者 html 实体编码。

js 编码策略:

"\" 加上三个八进制数字,如果个数不够,前面补0,例如 "")'eval(a)

通过上面的拆分法可以拼凑出下面完整的攻击向量:

document.write("")

三、绕过 waf 拦截安全狗http://www.safedog.cn/index/privateSolutionIndex.html?tab=2http://www.safedog.cn/index/privateSolutionIndex.html?tab=2D盾http://www.d99net.net/News.asp?id=126http://www.d99net.net/News.asp?id=126云锁+奇安信 wafhttp://www.yunsuo.com.cn/ht/dynamic/20190903/259.html?id=1http://www.yunsuo.com.cn/ht/dynamic/20190903/259.html?id=1

参考文章:

珂技系列之一篇就够了——XSS进阶

绕过XSS过滤姿势总结

探索XSS利用编码绕过的原理

XSS常见的触发标签



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3